package com.miao.edu.api;

import com.miao.edu.common.entity.ResponseDTO;
import com.miao.edu.dto.PromotionSpaceDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author niemiao
 */
@FeignClient(name = "edu-ad-boot",path = "/ad")
public interface AdRemoteService {

    /**
     * 获取所有的广告信息
     * @return List<PromotionSpaceDTO>
     */
    @GetMapping("/space/getAllSpaces")
    List<PromotionSpaceDTO> getAllSpaces();

    /**
     * 根据 PromotionKey 来获取所有广告信息
     * @return List<PromotionSpaceDTO>
     */
    @GetMapping("/ad/getAdByKey")
    List<PromotionSpaceDTO> getAdByKey(@RequestParam("keys") String[] keys);

    /**
     * 根据 id 来获取广告位
     * @param id
     * @return PromotionSpaceDTO
     */
    @GetMapping("/ad/{id}")
    PromotionSpaceDTO getPromotionSpaceById(@PathVariable("id") String id);

    /**
     * 编辑或者新增广告位
     */
    @PostMapping("/space/saveOrUpdate")
    ResponseDTO saveOrUpdateSpace(@RequestBody PromotionSpaceDTO promotionSpaceDTO);
}
